'''
    lINK: https://www.runoob.com/python/python-tutorial.html
    1. 构造程序逻辑
    变量类型： int,float,char
    其它容器：list-列表 ,dict-字典,tuple-元组
    运算符：
        算数运算符号：+ - * / %  // , > < =,
        逻辑运算符：与-and, 或-or, 非-not
        其他 ：查表
    表达式: c = 2*pi*r

    分支结构:
        if  condition1:
            express1
        elif condition2:
            express2
        else:
            express3
    循环结构：
        for x in range(num):   [0,num)
            print(x)
        for x in 'python':   [0,num)
            print(x)

        while(1):
            express2
            express2

            if condition:
                break

    2.如何debug程序

    知识点：
    a) 函数：def
    def functionname( parameters ):
       "函数_文档字符串"
       function_suite
       return [expression]
'''

"""  刷题： 
    1. 题目拆解  -- 模块
    2. 按照模块实现
    3. 调试
"""
''' 题目1：水仙花数：它是一个3位数，该数字每个位上数字的立方之和正好等于它本身
    思路：
        1. 范围 100~1000
        2. 每位数设置成一个变量：a b c [0,10) ,把个位、十位、百位的数字依次拆解且赋值a,b,c
            
        3. 如果 a**3 + b**3 + c**3 = num ： 则打印这个数
           否则检查下个数 
'''
def process_data(num):
    a = num // 100
    b = num % 100 // 10
    c = num % 100 % 10
    return (a,b,c)
flower = []
for num in range(100,1000):
    a,b,c = process_data(num)
    if (a**3 + b**3 + c**3) == num :
        flower.append(num)
        print(num,a,b,c)
    else:
        continue

print(flower)